USE [GD1C2012]
GO
--Cargar choer
CREATE PROCEDURE TEQUILASO.sp_cargarTurnos
AS
BEGIN
	select * from TEQUILASO.Turno 				
END
GO

CREATE PROCEDURE TEQUILASO.sp_altaTurno
	@hora_inicio DATETIME,
	@hora_fin	 DATETIME,
	@descripcion VARCHAR(255),
	@valor_ficha numeric(18,2),
	@valor_bandera numeric(18,2),
	@cant_duplicados int output
AS
BEGIN
	SELECT @cant_duplicados = COUNT(*) FROM TEQUILASO.turno
	WHERE (@hora_inicio BETWEEN hora_inicio AND hora_fin)OR (@hora_fin BETWEEN hora_inicio AND hora_fin)
	IF (@cant_duplicados = 0) 
	BEGIN
		INSERT INTO [GD1C2012].[tequilaso].[TURNO]
           ([Hora_Inicio]
           ,[Hora_Fin]
           ,[Descripcion]
           ,[Valor_Ficha]
           ,[Valor_Bandera]
		   ,[Habilitado])
		VALUES
           (@hora_inicio,
			@hora_fin,
			@descripcion,
			@valor_ficha,
			@valor_bandera,
			1)
	END
	ELSE BEGIN
		RAISERROR('HORARIO DUPLICADO',10,2)
	END
END
GO

CREATE PROCEDURE TEQUILASO.sp_buscarTurno
	@descripcion VARCHAR(250)
AS
BEGIN
	SELECT * FROM TEQUILASO.turno
	WHERE descripcion like '%' + cast(isnull(@descripcion, descripcion) as varchar(250)) + '%'	
END
GO

CREATE PROCEDURE TEQUILASO.sp_bajaTurno
	@Id int
AS
BEGIN
	delete from TEQUILASO.Turno where Id =@Id
END
GO

CREATE PROCEDURE TEQUILASO.sp_modificacionTurno
	@id int,
	@hora_inicio DATETIME,
	@hora_fin	 DATETIME,
	@descripcion VARCHAR(255),
	@valor_ficha numeric(18,2),
	@valor_bandera numeric(18,2),
	@cant_duplicados int output
AS
BEGIN
SELECT @cant_duplicados = COUNT(*) FROM TEQUILASO.turno
	WHERE (@hora_inicio BETWEEN hora_inicio AND hora_fin)OR (@hora_fin BETWEEN hora_inicio AND hora_fin)
	IF (@cant_duplicados = 0) 
	BEGIN
		UPDATE [GD1C2012].[tequilaso].[TURNO]
		SET [Hora_Inicio] = @hora_inicio
		,[Hora_Fin] = @hora_fin
		,[Descripcion] = @descripcion
		,[Valor_Ficha] = @valor_ficha
		,[Valor_Bandera] = @valor_bandera
		,[Habilitado] = @cant_duplicados
		WHERE id = @id
	
	END
	ELSE BEGIN
		RAISERROR('HORARIO DUPLICADO',10,2)
	END
END